Extending the Strided Communication Interface in OpenSHMEM
نویسندگان
چکیده
OpenSHMEM is a library interface specification which has resulted from a unification effort among various vendors and users of SHMEM libraries. OpenSHMEM includes routines which aim to support a PGAS programming model, encompassing data management, onesided communication, atomics, synchronization, collectives, and mutual exclusion. In the work described in this paper, we investigated the usage and performance of strided communication routines. Moreover, we propose and describe an implementation for new strided communication routines, shmem iputmem and shmem igetmem, which enable a more general means for expressing communications entailing data transfers for two-dimensional subarrays or for arrays of structures. We demonstrate the use of these routines on a halo exchange benchmark for which we achieved, on average, a 64.27% improvement compared to the baseline implementation using non-strided communication routines and also 63.37% improvement compared to the one using existing strided communication routines.
منابع مشابه
From MPI to OpenSHMEM: Porting LAMMPS
This work details the opportunities and challenges of porting a petascale-capable, MPI-based application LAMMPS to OpenSHMEM. We investigate the major programming challenges stemming from the differences in communication semantics, address space organization, and synchronization operations between the two programming models. This work provides several approaches to solve those challenges for re...
متن کاملDesigning a High Performance OpenSHMEM Implementation Using Universal Common Communication Substrate as a Communication Middleware
OpenSHMEM is an effort to standardize the well-known SHMEM parallel programming library. The project aims to produce an open-source and portable SHMEM API and is led by ORNL and UH. In this paper, we optimize the current OpenSHMEM reference implementation, based on GASNet, to achieve higher performance characteristics. To achieve these desired performance characteristics, we have redesigned an ...
متن کاملExtending the OpenSHMEM Analyzer to Perform Synchronization and Multi-valued Analysis
OpenSHMEM Analyzer (OSA) is a compiler-based tool that provides static analysis for OpenSHMEM programs. It was developed with the intention of providing feedback to the users about semantics errors due to incorrect use of the OpenSHMEM API in their programs, thus making development of OpenSHMEM applications an easier task for beginners as well as experienced programmers. In this paper we discus...
متن کاملTowards Parallel Performance Analysis Tools for the OpenSHMEM Standard
This paper discusses theoretic and practical aspects when extending performance analysis tools to support the OpenSHMEM standard for parallel programming. The theoretical part covers the mapping of OpenSHMEM’s communication primitives to a generic event record scheme that is compatible with a range of PGAS libraries. The visualization of the recorded events is included as well. The practical pa...
متن کاملOptimizing Collective Communication in OpenSHMEM
Message Passing Interface (MPI) has been the de-facto programming model for scientific parallel applications. However, data driven applications with irregular communication patterns are harder to implement using MPI. The Partitioned Global Address Space (PGAS) programming models present an alternative approach to improve programmability. OpenSHMEM is a library-based implementation of the PGAS m...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015